Skip to content

Fix issues found in Storage Hammer#858

Open
Besroy wants to merge 1 commit intoeBay:masterfrom
Besroy:fix_concurrency
Open

Fix issues found in Storage Hammer#858
Besroy wants to merge 1 commit intoeBay:masterfrom
Besroy:fix_concurrency

Conversation

@Besroy
Copy link
Contributor

@Besroy Besroy commented Feb 3, 2026

  1. concurrency issue between remove logdev and device truncate: when the out member leaves the group, the log device can be removed while the resource manager is concurrently executing truncate on the same logdev, causing a SIGSEGV
  2. log index->entry misalignment: after all logs are truncated, a leader switch can occur after new logs are appended but before they commit. The subsequent rollback fails due to out of range (attempting to roll back to start_lsn-1 and overwrite start), causing the index->entry mapping to become misaligned. (issue: log index→entry misalignment #857)
  3. fix metric compute logic

Related sisl pr: eBay/sisl#294

@Besroy Besroy marked this pull request as draft February 3, 2026 09:42
@Besroy Besroy force-pushed the fix_concurrency branch 9 times, most recently from 8e516e8 to b5fbf1c Compare February 9, 2026 10:24
@codecov-commenter
Copy link

codecov-commenter commented Feb 10, 2026

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 25.00000% with 3 lines in your changes missing coverage. Please review.
✅ Project coverage is 48.24%. Comparing base (fe47d46) to head (bf406f0).
⚠️ Report is 1 commits behind head on master.

Files with missing lines Patch % Lines
src/lib/logstore/log_store.cpp 0.00% 0 Missing and 1 partial ⚠️
src/lib/logstore/log_store_service.cpp 0.00% 0 Missing and 1 partial ⚠️
.../lib/replication/log_store/home_raft_log_store.cpp 50.00% 0 Missing and 1 partial ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #858      +/-   ##
==========================================
- Coverage   48.26%   48.24%   -0.03%     
==========================================
  Files         110      110              
  Lines       12872    12872              
  Branches     6176     6176              
==========================================
- Hits         6213     6210       -3     
  Misses       2567     2567              
- Partials     4092     4095       +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@Besroy Besroy marked this pull request as ready for review February 11, 2026 00:02
Copy link
Collaborator

@xiaoxichen xiaoxichen left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you in the commit log providing more info for the first 2 fixes

1. concurrency issue between remove logdev and device truncate: when the out member leaves the group,
the log device can be removed while the resource manager is concurrently executing truncate on the same logdev, causing a SIGSEGV

2. log index->entry misalignment: after all logs are truncated, a leader switch can occur after new logs are appended but before they commit.
The subsequent rollback fails due to out of range (attempting to roll back to start_lsn-1 and overwrite start),
causing the index->entry mapping to become misaligned. (issue: eBay#857)

3. fix metric compute logic
@Besroy
Copy link
Contributor Author

Besroy commented Feb 11, 2026

can you in the commit log providing more info for the first 2 fixes

updated

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants